﻿<?php
require_once dirname(__FILE__)."/../config/dbconn.php";

class Users extends DBconn {  
  //проверка наличия юзера в БД
  function checkUser($login)
  {
      $sql = Users::getConnect()->prepare("
               SELECT id
               FROM users
               WHERE login = :login
               ");
      
      $sql->bindParam(':login', $login);         
      $sql->execute();                
      return $sql;
      
  }
  
  //метод регистрации нового юзера
  function register($login, $password)
  {
      $dt = date('H:i:s d F Y');
      $sql = Users::getConnect()->prepare("
               INSERT INTO users(
                                 login,
                                 password,
                                 datetime)
               VALUES(
                      :login,
                      :password,
                      :dt)
               ");  
      $sql->bindParam(':login', $login);
      $sql->bindParam(':password', $password);
      $sql->bindParam(':dt', $dt);
      $sql->execute();                          
  }
		
  //метод авторизации
  function login($arr)
  {
      $sql = Users::getConnect()->prepare("
               SELECT id, 
                      login, 
                      role
               FROM users
               WHERE login = :login AND 
               password = :password
               ");
      $sql->execute($arr);
      return $sql;
  }
  
  //выборка всех юзеров
  function show_Users($start, $num){
      $sql = Users::getConnect()->prepare("
               SELECT id, 
                      login, 
                      role, 
                      password, 
                      datetime
              FROM users 
              ORDER BY id DESC
              LIMIT ".$start.", 
                    ".$num
              );
      $sql->execute();
      return $sql;
  }
  
  //удаление выбранного юзера
  function delete_User($id){
      $sql = Users::getConnect()->prepare("
               DELETE FROM users
               WHERE id = :id
               ");
      $sql->bindParam(':id', intval($id));        
      $sql->execute();
  }
  
  //создание пользователя в админке
  function add_User($arr){
      $dt = date('H:i:s d F Y');
      $sql = Users::getConnect()->prepare("
               INSERT INTO users(
                                 login,
                                 password,
                                 role,
                                 datetime)
               VALUES(
                      :login,
                      :password,
                      :role,
                      $dt)
               ");
      $sql->execute($arr);
  }
  
  //редактирования пользователя
  function update_User($arr){
      $sql = Users::getConnect()->prepare("
               UPDATE users
               SET
                  login = :login,
                  password = :password,
                  role = :role
               WHERE id = :id
               ");
      $sql->execute($arr);
  }
  
  //выборка выбранного юзера
  function show_Select_User($id){
      $sql = Users::getConnect()->prepare("
               SELECT id, 
                      login, 
                      role, 
                      password, 
                      datetime
               FROM users 
               WHERE id = :id
               ");
      $sql->bindParam(':id', $id);         
      $sql->execute();
      return $sql;
  }
  
  //получения кол-ва записей в таблице
  function users_count(){
        $sql = Users::getConnect()->query("
               SELECT count(id) 
               FROM users
               ");
        return $sql;
  }
  
  function send_Mail($to, $subject, $message){
        mail($to, $subject, $message);
  }
  
  
  //выборка последних 3 зарегистрированных пользователей
  function show_last_users(){
      $sql = Users::getConnect()->query("
               SELECT login,
                      datetime
               FROM users
               ORDER BY datetime DESC
               LIMIT 0,3
               ");
      
      return $sql;
  }     
}
